با اینحال برخی از مردم تصمیم میگیرند شانس خود را امتحان کرده و به سراغ یادگیری برنامهنویسی بروند، با این تفاوت که بوتکمپها را انتخاب میکنند. اگر گوگل را باز کرده و اصطلاح "بوتکمپ برنامهنویسی" را تایپ کنید با سایتهای زیادی روبرو میشوید که سعی دارند برنامهنویسی را به شما آموزش دهند. به عبارت دقیقتر، چند وقتی است اصطلاح بوتکمپ برنامهنویسی در ایران رواج پیدا کرده و آموزشگاههای ایرانی همانند نمونههای خارجی اقدام به پذیرش افرادی میکنند که علاقهمند به کدنویسی هستند و دوست دارند به عنوان برنامهنویس شغلی را پیدا کنند. برخی از بوتکمپها در تبلیغات خود اعلام میکنند پس از حضور در دورههای آموزشی، اشتغال شما به عنوان برنامهنویس طی 4 ماه امکانپذیر خواهد بود. چنین ادعایی صحیح است یا بیشتر یک ترفند تبلیغاتی است؟
برنامهنویسی ابتدایی برای انجام برخی کارهای روزمره ساده است و تقریباً هر کسی با حضور در دورههای آموزشی یا حتا مطالعه منابع آنلاین میتواند برنامهنویسی را بیاموزد. متاسفانه این برداشت اولیه به برخی از مردم این ذهنیت را القا کرده که با کمی کدنویسی بیشتر و حضور در کلاسهای فشرده سه تا شش ماهه میتوانند به یک توسعهدهنده حرفهای تبدیل شوند. افراد بسیار کمی که تا تعداد آنها به انگشتان یک دست نمیرسد، بر مبنای چنین دیدگاهی به یک توسعهدهنده حرفهای تبدیل شدهاند. این موضوع زمانی جالبتر میشود که مشاهده میکنیم برخی از مردم پس از یادگیری نحوه کار با سامانههای مدیریت محتوایی همچون وردپرس یا دروپال خود را برنامهنویس معرفی میکنند و در رزومههای شخصی یا پروفایلهای آنلاین، خود را برنامهنویس حاذقی توصیف میکنند، در حالی که هیچ سررشتهای از مبانی اولیه برنامهنویسی ندارند. رایگان و کم هزینه بودن بیشتر منابع موجود برای آموختن برنامهنویسی آنلاین و توصیههای برخی از توسعهدهندگان حرفهای که اعلام میدارند یادگیری برنامهنویسی به شکل خودآموز و ارائه پروژههای عملی بدون داشتن مدرک علوم کامپیوتر، امری کاملا امکانپذیر است، باعث شده تا افراد در بوتکمپها یا دورههای کارآموزی فشرده شرکت کنند و از جیب خود هزینه کنند به این امید که برنامهنویس حرفهای شده و در شرکتی استخدام شوند. حتما در اواخر سال گذشته انواع تبلیغات پیرامون برگزاری کمپهای نوروزی برنامهنویسی یک هفتهای یا ده روزه را مشاهده کردهاید که همگی سعی در القای این مفهوم داشتند که هر انسانی میتواند به یک برنامهنویس حرفهای تبدیل شود، پیشنهاد میکنیم پیش از هزینه کردن ابتدا این مقاله را تا انتها مطالعه کنید تا با دید روشنی تصمیمگیری کنید.
اعداد و ارقام کاریابی بوتکمپها میتواند گمراه کننده باشد
TechBeacon یک مرکز دیجیتالی برای متخصصان حوزه توسعه و فناوری به تازگی بوتکمپهای برنامهنویسی را بررسی کرده و اطلاعاتی در مورد 24 برنامه آموزشی جمعآوری کرده است. یافتهها نشان دادند که 17 برنامه از 24 برنامه مدعی شدهاند که بیش از
90 درصد دانشجویان آنها شغلهای برنامهنویسی تماموقت یا پروژههای دورکاری 6 تا 12 ماهه دریافت کردهاند، اما این اعداد میتوانند گمراه کننده باشند. Course Report سایتی که نقطه نظرات مردم در مورد وضعیت بوتکمپهای کدنویسی و خروجی این مراکز را بررسی میکند، پژوهش جالبی انجام داده که نتایج آن قابل تامل هستند. به ادعای این سایت در سال 2014 تنها 75 درصد فارغ التحصیلان بوتکمپهای برنامهنویسی بعد از فارغالتحصیلی، شغلی به عنوان توسعهدهنده کسب کردند. در سال 2015 این تعداد به 66 درصد کاهش یافت. در سال 2016 این میزان به 73 درصد افزایش یافت و در سال 2018 این عدد با یک جهش به 78 درصد رسید. شرکتکنندگان در بوتکمپهای کدنویسی لزوما همگی مبتدی نیستند. برخیها با امید پیدا کردن شغلی به عنوان توسعهدهنده ارشد در این دورهها شرکت میکنند و برخی دیگر توسعهدهندگان حرفهای هستند که سعی میکنند مهارتهای جدیدی کسب کنند. تاکنون آمار دقیقی ارائه نشده که نشان دهد چه تعداد از افرادی که توانستهاند از "صفر تا صد کدنویسی" را در کمپهای برنامهنویسی یاد بگیرند جذب بازار کار شدهاند، بنابراین، تبلیغاتی که اعلام میکنند 90 درصد دانشآموختگان جذب بازار کار شدهاند صحیح نیست.
شکایت در مورد کیفیت امری متداول است
همواره شکایتهای زیادی در مورد آموزشگاهها و بوتکمپها به گوش میرسد. کافی است یک جستجوی ساده در اینترنت انجام دهید تا نقطه نظرات منفی مردم را مشاهده کنید. نقطه نظرات مثبتی نیز وجود دارد، اما در حالت کلی افراد ترجیح میدهند تجربیات منفی خود را بروز ندهند و با دیگران در میان نگذارند. فارغالتحصیلان دلایل زیادی را برای این امر ذکر میکنند. بهطور مثال، آنها نمیخواهند آموزهها و زمان و هزینهای که صرف این کار کردهاند را بیارزش جلوه دهند یا این که نمیخواهند با ارائه نظرات منفی با آموزشگاه برگزارکننده این دورهها اصطکاک پیدا کنند. در بیشتر موارد نظرات منفی انتقاد از مربیان آموزشی است. بازل فاراگ توسعهدهنده iOS و یکی از مربیان با تجربه این دورههای آموزشی میگوید: «پیدا کردن مدرسان خوب کار دشواری است. در بیشتر موارد مدرسان حقوق چندانی بابت آموزشها دریافت نمیکنند، به همین دلیل یک مدرس باید عاشق انجام اینکار باشد. البته مدرسان ماهری نیز در برخی از بوتکمپها و آموزشگاهها حضور دارند، اما در اغلب موارد جایگاه مدرسان و دستیاران آموزشی با توسعهدهندگان کم تجربه اشغال شده است. افرادی که جزوه یا تبلت خود را باز میکنند و از روی آن شروع به تدریس میکنند.»
نسبت به مدت زمان آموزشی مورد نیاز خود واقع بین باشید
دانشجویان آموزشگاهها و بوتکمپها که به عنوان مبتدی وارد برنامههای آموزشی میشوند، وقتی فارغ التحصیل میشوند، اما آمادگی لازم برای کدنویسی را ندارند. فاراگ میگوید: «این احتمال وجود دارد که بعد از فارغالتحصیلی از یک بوتکمپ با کیفیت بتوانید به عنوان یک توسعهدهنده تازهکار (Junior) شغلی پیدا کنید، اما نباید انتظار داشته باشید بعد از سه تا شش ماه به یک توسعهدهنده واقعی تبدیل شوید. بسیاری از بوتکمپهای برنامهنویسی زمان زیادی را به آموزش الگوریتمها اختصاص نمیدهند و بیشتر روی ابزارهای یادگیری تمرکز دارند. بسیاری از بوتکمپهای برنامهنویسی چارچوبهایی مانند Ruby on Rails را آموزش میدهند و سعی میکنند مفاهیمی که یادگیری آنها سادهتر است را آموزش دهند. یعنی دانشجویان نحوه استفاده از یک ابزار خاص را یاد میگیرند، اما با اصول بنیادین توسعه وب از طریق ابزارها و فناوریهای پیچیده آشنا نمیشوند. بسیاری از فارغالتحصیلان پس از گرفتن تعدادی پروژه، تصور میکنند آماده ورود به بازار کار هستند، اما متاسفانه از یک شالوده و بنیان محکم برخوردار نیستند.»
فارغالتحصیلان بوتکمپها به سمت بازار سرازیر میشوند
در بازار کار امروز، توسعهدهندگان جوان برای آنکه به چشم بیایند و بدرخشند کار دشواری پیشرو دارند، به همین دلیل تصمیم میگیرند با وجود مهارت کم به سرعت به سراغ آگهیهای استخدامی بروند. مایکل دگاس، مهندس ارشد نرمافزار در شرکت اتودسک (شرکتی که نرمافزارهای معرفی همچون 3DMax را تولید میکند) میگوید: «زمانی که شرکتهای نوپا اعلام کردند با کمبود توسعهدهندگان روبرو هستند، بوتکمپها به شکل چشمگیری زیاد شدند و هر یک وعدههای جذابی دادند. بوتکمپها این اطلاعرسانی را به دید یک فرصت کم نظیر دیدند و تصور کردند با ایجاد دورههای کارآموزی برنامهنویسی یا همان بوتکمپها قادر به پر کردن این خلاء هستند، اما توسعهدهندگان جوان و حتا توسعهدهندگان مجرب در بسیاری از جنبههای برنامهنویسی نیاز به کسب تجربه دارند تا بتوانند یک متخصص مهندس نرمافزار کارآمد شوند. هر کسی میتواند برنامهنویسی یاد بگیرد، اما همه نمیتوانند تخصص کافی در زمینه برنامهنویسی کسب کنند تا یک مهندس نرمافزار خوب شوند.»
آیا فرد مناسبی برای برنامهنویسی هستید؟
وقتی کدنویسی انجام میدهید، اولین جرقه قدرت را در خود احساس میکنید. وقتی کمی بیشتر پیش میروید کل این ترکیب برای شما معنادار میشود و همین موضوع ترغیبتان میکند تا برای آموختن به سراغ دورههای آنلاین بروید. در آن لحظه است که با خودتان فکر میکنید که "میتوانم این کار را برای امرار معاش انجام دهم." شما به تلاش و صبر زیادی نیاز دارید تا بتوانید در جایگاه یک توسعهدهنده تازهکار شغلی در یک شرکت کوچک پیدا کنید و برای ادامه کار به صبر و تلاشی دو برابر نیاز دارید. دانشجویان بوتکمپ متوجه نیستند که موفقیت در یک دوره برنامهنویسی تضمین کننده این موضوع نیست که شما یک برنامهنویس مجرب خواهید شد. شواهد زیادی وجود دارد که نشان میدهد تمامی فارغالتحصیلان علوم کامپیوتر نمیتوانند کدنویسی کنند، در حالی که در دانشگاه درسهای مربوط به کدنویسی را با نمره بالایی قبول شدهاند. نزدیک به 30 تا 60 درصد دانشجویان سال اولی گروههای علوم کامپیوتر دانشگاه در اولین ارتباط خود با برنامهنویسی موفق نیستند، بنابراین چرا انتظار دارید تا بوتکمپها به شکل چشمگیری موفقتر عمل کنند؟ سایت Stack Overflow در سال 2008 نظرسنجی جالبی انجام داد و از 900 توسعهدهنده این سایت سوال کرد که اولین نشانههای علاقه به کدنویسی در آنها چه سالی بوده است؟ نتیجه این نظرسنجی نشان میدهد که اگر علاقه به برنامهنویسی بین سالهای 8 و 18 سالگی در شما شکل نگرفت، شانس شما برای آنکه بتوانید یک توسعهدهنده باشید، کم است. شکل 1 نتیجه این نظرسنجی را نشان میدهد. با این توصیف شیوههای بد آموزش را نباید تنها مقصر شکست بوتکمپها برای رساندن افراد از " صفر به توسعه دهنده"، آن هم ظرف چند ماه دانست. برنامهنویسی اساساً کار دشواری است و افرادی که قصد شرکت در این بوتکمپها را دارند باید در مورد میزان تعهدشان به برنامهنویسی صادق باشند. مهندسی نرمافزار یک راه ساده برای سریع پولدار شدن نیست.
دلیلی برای برنامهنویسی بیابید
برخیها از مردم برنامهنویسی را با این هدف آغاز میکنند تا شغلی بهتر با درآمد بالاتر داشته باشند، اما اگر تنها مطابق با آنچه که برخی کلاسها یا آموزشگاهها به شما میگویند، برنامهنویسی کنید؛ این انگیزه حفظ نخواهد شد. در ابتدای کار برنامهنویسی ممکن است دچار سردرگمی شوید و ندانید به دنبال ساخت چه برنامهای هستید که البته این موضوع ایرادی ندارد. شما برای یادگیری و خلق ایدههای خود در پروژههای هیجانانگیز به وقت نیاز دارید. بدیهی است که تلاش خواهید کرد برنامههای بکر خلق کنید که موجب رشد دانش شما شوند، حتا اگر آن پروژهها همان محصول نهایی مدنظر شما نباشند، اما این پروژهها را به عنوان پلههایی در نظر بگیرد که شما را به سمت پروژههای جذابتر میبرند تا بتوانید این گونه انگیزه خود را حفظ کنید. مهم نیست که چگونه برنامهنویسی میکنید، حتا اگر برنامهای نوشتید که سرشار از باگ و اشکال است، سعی کنید ساعتها وقت بگذارید، تحقیق کنید و به دنبال رفع باگها باشید. در غیر این صورت آنچه برای شما رقم میخورد، واژگونی اولویتها است. به عنوان یک دانشجوی برنامهنویسی از افرادی مشاوره بگیرید که شاید برنامهنویس شگفتانگیزی نباشند، اما طراحانی باتجربه هستند. در پروژههای برنامهنویسی شخصی، مشتری خودتان هستید. بررسی کنید که چه میخواهید خلق کنید و بعد تحقیق کنید کدام زبانها و ابزارها گزینههای خوبی برای بازاریابی محصول هستند.
در مورد زبان و چارچوب وسواس به خرج ندهید
اگر مدتی است وقت میگذارید و مقالات مربوط به "چه زبان برنامهنویسی را باید یاد بگیرم؟ " را مطالعه میکنید، باید بگوییم اشتباه میکنید. اگر تصمیم دارید زبان یا چارچوبی را بیاموزید که امروزه بسیار رایج یا جزو زبانهای متداول در موقعیت شغلی توسعهدهندگان است، در واقع شانس کمی برای یادگیری برنامهنویسی پیدا خواهید کرد. برنامهنویسی یعنی استفاده از ابزارهای مناسب برای انجام یک کار مشخص. اگر فقط یک چارچوب را یاد بگیرید، فقط یک روش فکر کردن به حل مسئله را میآموزید.
فارغالتحصیلان دورههای کارآموزی، وقتی یاد میگیرند فقط در یک چارچوب برنامهنویسی کنند، اغلب درست عمل نمیکنند و به دام خطمشیهای آن چارچوب گرفتار میشوند. شما نباید گرفتار یک طرز تفکر واحد شوید. سعی کنید زبانها و ابزارهای مختلف را یاد بگیرید و به جای تمرکز روی یک زبان برنامهنویسی، مفاهیم اصلی برنامهنویسی را بیاموزید.
به جای ساختن یک پروژه دشوار به دنبال ساخت پروژههای ساده به تعداد زیاد باشید
همانگونه که نباید در مورد زبان و ابزارهایی که استفاده میکنید وسواس به خرج دهید و زیاد به آنها فکر کنید، در مورد پروژههایی که قصد ساخت آنها را دارید نباید وسواس به خرج دهید. گرچه خوب است که روی پروژههای پر هیجانی کار کنید که مخصوص خودتان است، اما همانگونه که گفتیم، نباید از ابتدا به فکر ساخت برنامههای پیچیده و سنگینی باشید که شاید یک تیم برنامهنویسی هم موفق نشوند در کوتاهمدت چنین برنامهای را بسازند. البته نباید در مورد انتخابهای پروژه خود کاملاً اتفاقی عمل کنید.بهتر است روی پروژههای متنوعی کار کنید تا بتوانید توانایی خود برای کنترل سناریوهای مختلف برنامهنویسی را گسترش دهید. دست از تحقیق و تئوریسازی بردارید و شروع به برنامهنویسی کنید.
تمرکز خود را روی چند منبع خوب بگذارید
منابع آنلاین رایگان زیادی وجود دارند که کمک میکنند بدون نیاز به پیوستن به بوتکمپها به یک برنامهنویس تبدیل شوید، با این حال باید از بین آنها بهترین گزینه را انتخاب کنید. مقالههای زیادی در مورد یادگیری کدنویسی وجود دارند، اما هدف شما این نیست که هفتهها را صرف خواندن این مقالهها کنید؛ شما باید بیشتر وقت خود را به ویرایش کد و کدنویسی بگذرانید و از منابع موجود عمدتا به عنوان مرجع استفاده کنید. منابع بسیاری برای یادگیری به زبان فارسی و انگلیسی وجود دارند که ما برخی از بهترین منابعی که میتوانید کارتان را با آنها آغاز کنید را خلاصهوار عنوان میکنیم:
Codecademy : اگر قبلاً هیچ برنامهای ننوشتهاید، به این سایت سری بزنید تا ببینید آیا از حل پازلهای برنامهنویسی لذت میبرید. این سایت برای یاد گرفتن ترکیب نحوی زبانهای مختلف و مفاهیم علوم کامپیوتر مناسب است.
The Learn Programming subreddit: در این سایت به سوالات ابتدایی برنامهنویسان مبتدی در بخش منابع موجود در صفحه اصلی subreddit پاسخ داده میشود.
FreeCodeCamp: هر ماه فهرست لینکهایی که به صدها دوره آزاد انبوه بر خط (MOOC) مرتبط میشوند را بهروز میکند.
Teaching Yourself to Code to Become an Employment Programmer-What to Learn, Where to Learn, and More: گرچه سایتی است که مقالات مربوط به " نحوه یادگیری برنامهنویسی" را میزبانی میکند، اما جزو جامعترین مقالات در این زمینه است.
به خاطر داشته باشید که برنامهنویسی تنها مسیر برای داشتن یک شغل خوب نیست، اما به یاد داشته باشید که توانایی در کد نویسی میتواند به شما در داشتن درآمد خوب کمک کند. با داشتن چنین قابلیتی همچنین میتوانید اولین قدم در مسیر صنعت ابزارهای برنامهنویسی بردارید
به این مطلب چند ستاره میدهید؟(امتیاز: 3 - رای: 5)
- منبع: ماهنامه شبکه
- نویسنده: ماهنامه شبکه